package com.xbongbong.paas.service;

import com.xbongbong.paas.pojo.vo.CallCenterOrgGetByCorpIdVO;
import com.xbongbong.paas.toolbox.exception.XbbException;
import com.xbongbong.saas.domain.entity.CallCenterOrganizationEntity;

/**
 * @author youli.chen
 * @version v1.0
 * @description: 呼叫中心企业 业务层
 * @date 2019/2/13 16:12
 * @since v1.0
 */
public interface CallCenterOrganizationService {

    /**
     * 获取公司在该平台的apikey
     * @param corpid 公司id
     * @param moduleType 微应用平台，参考CallCenterTypeEnum
     * @return String 不存在则返回null
     * @throws XbbException
     */
    String getApiKey(String corpid, Integer moduleType) throws XbbException;

    /**
     * 获取公司在该平台的公司信息
     * @param corpid 公司id
     * @param moduleType 微应用平台，参考CallCenterTypeEnum
     * @return CallCenterOrgGetByCorpIdVO 获取公司在该平台的公司信息回参
     * @throws XbbException
     */
    CallCenterOrgGetByCorpIdVO getByCorpId(String corpid, Integer moduleType) throws XbbException;

    /**
     * 获取该公司是否有权限使用语音转写功能
     * @param corpid 公司id
     * @param moduleType 话务中心平台
     * @param userId
     * @return 是否有权限使用语音转写功能
     * @throws XbbException
     * @version v1.0
     * @since v1.0
     */
    Boolean isAudioTranslate(String corpid, Integer moduleType,String userId) throws XbbException;

    /**
     * 设置公司使用语音转写功能的能力
     *
     * @param org              公司
     * @param isAudioTranslate 是否启用
     * @throws XbbException
     * @version v1.0
     * @since v1.0
     */
    void enableAudioTranslate(CallCenterOrganizationEntity org, Boolean isAudioTranslate) throws XbbException;

    /**
     * 当前公司逍邦邦呼叫中心对应的换卡套餐是否开通并且有效(按照当前时间实时计算)
     * @param corpid
     * @param moduleType
     * @return
     * @throws XbbException
     */
    Integer callBlockServer(String corpid, Integer moduleType) throws XbbException;

}
